﻿package mortal.game.view.common
{
    import com.mui.controls.*;
    import com.mui.utils.*;
    import flash.display.*;
    import mortal.component.gconst.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.view.common.item.*;

    public class ItemCellRenderer extends GCellRenderer
    {
        protected var _baseItem:BaseItem;
        protected var _itemData:ItemData;

        public function ItemCellRenderer()
        {
            return;
        }// end function

        override protected function createDisposedChildrenImpl() : void
        {
            super.createDisposedChildrenImpl();
            this._baseItem = UICompomentPool.getUICompoment(BaseItem);
            this._baseItem.setItemStyle(ItemStyleConst.Small, ImagesConst.PackItemBg, 2, 2);
            this._baseItem.isShowLock = true;
            this._baseItem.isDragAble = false;
            this._baseItem.mouseEnabled = true;
            this._baseItem.mouseChildren = false;
            this._baseItem.doubleClickEnabled = true;
            this.addChild(this._baseItem);
            return;
        }// end function

        override protected function disposeImpl(param1:Boolean = true) : void
        {
            super.disposeImpl(param1);
            this._baseItem.dispose(param1);
            this._baseItem = null;
            this._itemData = null;
            return;
        }// end function

        override public function set data(param1:Object) : void
        {
            super.data = param1;
            this._itemData = param1 as ItemData;
            this._baseItem.itemData = this._itemData;
            return;
        }// end function

        public function get itemBitmapData() : BitmapData
        {
            return this._baseItem.bitmapdata;
        }// end function

        override public function set selected(param1:Boolean) : void
        {
            super.selected = param1;
            if (param1 && this._itemData)
            {
                this._baseItem.filters = [FilterConst.itemChooseFilter];
            }
            else
            {
                this._baseItem.filters = [];
            }
            return;
        }// end function

    }
}
